const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
const formatDate = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()

  return [year, month, day].map(formatNumber).join('-')
}
const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}

// 防抖
let timeout;
const debounce = (func, wait, e) => {
  clearTimeout(timeout);
  timeout = setTimeout(() => {
      func(e);
  }, wait);
}

// 节流
let canRun = true
const throttle = (fn, wait, arg) => {
  if (!canRun) return;
  canRun = false;
  setTimeout(() => { 
    fn(arg);
    canRun = true;
  }, wait);
}
module.exports = {
  formatTime: formatTime,
  formatDate: formatDate,
  throttle: throttle,
  debounce: debounce
}


